#pragma  once

#include <iostream>
#include <fstream>
#include <iomanip>
#include <set>
#include <ctime>
#include <cstdlib>
#include <cmath>
#include <GL/glut.h>
#include <random>
#include <string>
#include <string.h>

#define BALL_RADIUS 0.03
#define pi 3.1415927
#define INF 1e9
#define PERIODIC 1
#define REFLEXIVE -1
#define OPEN 0
#define GAUSSIAN 0
#define UNIFORM 1
#define SAME 0
#define COMPUTE 0
#define RENDERING 1
#define NEIGHBORNUM 8
#define METRIC 0
#define TOPOLOGICAL 1
#define LOCAL 0
#define GLOBAL 1
#define L 10
// some compiler use std:: instead of std::tr1::
#ifdef __GNUG__
namespace std {
  namespace tr1 = std;
// It's very kengdie that the function names have changed in GCC 4.5
#define uniform_real uniform_real_distribution
#define uniform_int uniform_int_distribution
}
#endif
